The present invention relates to a method and apparatus for modifying computer generated images and, in particular, for selective application of focusing/defocusing (i.e. selective blurring) effects to provide apparent depth cues in three-dimensional images for display in two dimensions.
Synthetically generated computer graphics images may suffer from the deficiency of being uniformly sharp, with all parts of the image appearing to be in focus, but simulating the effects of focus/de-focus is often highly expensive both in terms of computational power and memory bandwidth. One example of a technique for applying defocus effects is described in "Synthetic Image Generation with a Lens and Aperture Model" by M. Potmesil and I. Chakravarty, ACM Transactions on Graphics Vol.1, No.2, April 1982 at pp.85-108. The Potmesil technique is computationally expensive however and is impractical for real-time systems.
An alternative and slightly simpler technique is described in "Two 2D Postprocessing Tools and their Applications to Improvement of 3D Pictures" by J-F. Colonna, The Visual Computer (1994), at pp.239-242. Colonna describes a post-processing tool which uses a variable length convolution filter based around a generalised multiplication table to provide an impression of depth in an image by increasing variation in filter length at increasing distance along the z-axis (towards foreground or background) from a focus depth. Despite the relative simplicity arising from commonality of features in the filter arrangements of Colonna, the techniques are still slowed by the required process step of selecting the appropriate filter with reference to the depth value for each pixel.
A further problem encountered with systems such as that of Colonna occurs at sharply receding surfaces and depth discontinuities, which problems are addressed in our International patent application WO96/14621 where a method and apparatus are provided for post-processing computer-generated images of a three-dimensional object for display as a series of pixels, having a respective depth value for each pixel and a focus depth specified for each image frame. Each image pixel is filtered using contributions from other pixels of the image about the image pixel and with filter coefficients determined by the image pixel depth value and focus depth; the filter contributions are selectively inhibited by an amount determined, for each contributing pixel, by an inhibition function which suitably relates the contributing pixel depth value, the image pixel depth value, and the focus depth.